actor.set_easing_mode(params.mode);
delete params.mode;
- Meta.disable_unredirect_for_display(global.display);
-
let cleanup = () => Meta.enable_unredirect_for_display(global.display);
let callback = _makeEaseCallback(params, cleanup);
let transition = animatedProps.map(p => actor.get_transition(p))
.find(t => t !== null);
+ if (transition && transition.delay)
+ transition.connect('started', () => Meta.disable_unredirect_for_display(global.display));
+ else
+ Meta.disable_unredirect_for_display(global.display);
+
if (transition)
transition.connect('stopped', (t, finished) => callback(finished));
else
if (actor instanceof Clutter.Actor && !actor.mapped)
duration = 0;
- Meta.disable_unredirect_for_display(global.display);
-
let cleanup = () => Meta.enable_unredirect_for_display(global.display);
let callback = _makeEaseCallback(params, cleanup);
let [obj, prop] = _getPropertyTarget(actor, propName);
obj[prop] = target;
+ Meta.disable_unredirect_for_display(global.display);
callback(true);
return;
transition.set_to(target);
+ if (transition.delay)
+ transition.connect('started', () => Meta.disable_unredirect_for_display(global.display));
+ else
+ Meta.disable_unredirect_for_display(global.display);
+
transition.connect('stopped', (t, finished) => callback(finished));
}